<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>原生js实现Ajax</title>

    <script>
        function fun() {
            //1.创建核心对象
            var xmlhttp;
            if(window.XMLHttpRequest)
            {
                xmlhttp=new XMLHttpRequest();
            }else{
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }

            //2.建立连接
            /*
                参数：
                    1.请求方式：GET,POST...
                        * get 方式，请求参数在URL后面拼接，send方法为空参
                        * post 方式，请求参数在send方法中定义
                    2.请求的URL
                    3.同步或异步请求true(异步) false(同步)
             */
            xmlhttp.open("GET","ajaxServlet?username=tom",true);

            //3.发送请求
            xmlhttp.send();

            //4.接受并处理来自服务器的响应结果
            //获取方式：xmlhttp.responseTest
            //什么时候获取？当服务器响应成功后获取

            //当xmlhttp对象的就绪状态改变时，触发事件onreadystatechange
            xmlhttp.onreadystatechange=function () {
                //判断xmlhttp的readyState就绪状态是否为4，判断status响应状态码是否为200
                if(xmlhttp.readyState==4&&xmlhttp.status==200){
                    //获取服务器的响应结果
                    var responseText = xmlhttp.responseText;
                    alert(responseText);
                }
            }
        }
    </script>

</head>
<body>
    <input type="button" value="发送异步请求" onclick="fun();">
    <input>
</body>
</html>